Platform Explorer / Nuxeo Platform 2023.9

Extension point store

Documentation

Allow to declare a transient store inside Nuxeo. The store is identified by a name and the descriptor has several parameters :

    <store name="microStore">
        <!--  a store that can not store anything  -->
        <targetMaxSizeMB>0</targetMaxSizeMB>
        <absoluteMaxSizeMB>0</absoluteMaxSizeMB>
    </store>

The store tag supports 2 attributes:

  • name, that is used to identify the store
  • class, that should reference an implementation of the TransientStoreProvider interface (will default to SimpleTransientStore))

Nested configuration elements are :

  • targetMaxSizeMB : target size that ideally should never be exceeded
  • absoluteMaxSizeMB : size that must never be exceeded
  • firstLevelTTL : TTL in minutes of the first level cache
  • secondLevelTTL : TTL in minutes of the first level cache

Contribution Descriptors

  • Class: org.nuxeo.ecm.core.transientstore.api.TransientStoreConfig

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-runtime-2023.9.10.jar /opt/nuxeo/server/nxserver/config/transient-store-config.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
    
            <store class="org.nuxeo.ecm.core.transientstore.keyvalueblob.KeyValueBlobTransientStore" name="default">
          <targetMaxSizeMB>-1</targetMaxSizeMB>
          <absoluteMaxSizeMB>-1</absoluteMaxSizeMB>
          <firstLevelTTL>4320</firstLevelTTL>
          <secondLevelTTL>10</secondLevelTTL>
        </store>
    
        <store name="authorizationRequestStore">
          <firstLevelTTL>10</firstLevelTTL>
          <secondLevelTTL>0</secondLevelTTL>
        </store>
    
      </extension>
  • nuxeo-automation-server-2023.9.10.jar /OSGI-INF/batchmanager-contrib.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
        <!-- Explicit declaration based on default configuration to enforce GC -->
        <store name="automation"/>
        <store name="BatchManagerCache"/>
      </extension>
  • nuxeo-core-io-2023.9.10.jar /OSGI-INF/download-service.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
        <!-- Explicit declaration based on default configuration to enforce GC -->
        <store name="download"/>
      </extension>
  • nuxeo-platform-csv-export-2023.9.10.jar /OSGI-INF/csv-export-config.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
        <!-- Explicit declaration based on default configuration to enforce GC -->
        <store name="csvExport"/>
      </extension>
  • nuxeo-platform-rendition-core-2023.9.10.jar /OSGI-INF/rendition-service.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
        <!-- Explicit declaration based on default configuration to enforce GC -->
        <store name="LazyRenditionCache"/>
      </extension>
  • nuxeo-platform-rendition-core-2023.9.10.jar /OSGI-INF/rendition-workmanager-contrib.xml
    <extension point="store" target="org.nuxeo.ecm.core.transientstore.TransientStorageComponent">
        <store name="RenditionCache">
          <firstLevelTTL>240</firstLevelTTL>
          <secondLevelTTL>10</secondLevelTTL>
        </store>
      </extension>